package com.booter.gateway.model.definition;

import java.util.ArrayList;
import java.util.List;

/**
 * Gateway的路由定义模型
 */
public class GatewayRouteDefinition {

    /**
     * 路由的Id
     */
    private String id;

    /**
     * 路由断言集合配置
     */
    private List<GatewayPredicateDefinition> predicates = new ArrayList<>();

    /**
     * 路由过滤器集合配置
     */
    private List<GatewayFilterDefinition> filters = new ArrayList<>();

    /**
     * 路由规则转发的目标uri
     */
    private String uri;

    /**
     * 路由执行的顺序
     */
    private int order = 0;

    /**
     * @return the id
     */
    public String getId() {
        return this.id;
    }

    /**
     * @param id
     *        the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the predicates
     */
    public List<GatewayPredicateDefinition> getPredicates() {
        return this.predicates;
    }

    /**
     * @param predicates
     *        the predicates to set
     */
    public void setPredicates(List<GatewayPredicateDefinition> predicates) {
        this.predicates = predicates;
    }

    /**
     * @return the filters
     */
    public List<GatewayFilterDefinition> getFilters() {
        return this.filters;
    }

    /**
     * @param filters
     *        the filters to set
     */
    public void setFilters(List<GatewayFilterDefinition> filters) {
        this.filters = filters;
    }

    /**
     * @return the uri
     */
    public String getUri() {
        return this.uri;
    }

    /**
     * @param uri
     *        the uri to set
     */
    public void setUri(String uri) {
        this.uri = uri;
    }

    /**
     * @return the order
     */
    public int getOrder() {
        return this.order;
    }

    /**
     * @param order
     *        the order to set
     */
    public void setOrder(int order) {
        this.order = order;
    }
}